A message signaled interrupt (MSI) enables an input/output (I/O) device, sometimes also referred to herein as a peripheral device, or a requesting agent, in a microprocessor based system to request service. Historically, I/O devices employed dedicated interrupt pins to signal a request for service, but pin-based interrupts are expensive in terms of the number of pins required for chip set devices and in terms of the need to manage interrupt signals that are generated out-of-band with respect to the address, data, and control busses or interconnects between the I/O device and the chip set.
Virtualization allows for the creation of one or more virtual machines (VMs) on a single system. Virtualization architectures typically involve the use of a virtual machine monitor (VMM) software layer that runs at the highest privilege level and has complete ownership of the underlying system hardware. The VMM allows the VMs to share the underlying hardware and yet provides isolation between VMs.